<?php

class Especialidades extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->datosusuario = $this->authentication->getDataLogged();
        $this->load->model('m_especialidad', 'especialidad');
    }

    /**
     * Listado de especialidades.
     *
     * @return void
     */
    function index() {
        $especialidades = $this->especialidad->getList();

        $data = array(
            'titulo' => 'Listado de Especialidades Médicas',
            'datosusuario' => $this->datosusuario,
            'especialidades' => $especialidades,
            'tipoRiesgo' => getListRiesgos(),
            'seleccionar' => 'parametricas',
        );

        $this->load->view('templates/header', $data);
        $this->load->view('templates/topbar');
        $this->load->view('parametricas/leftbar');
        $this->load->view('especialidades/index');
        $this->load->view('templates/footer');
    }

    /**
     * Crea una nueva especialidad.
     *
     * @return void
     */
    function nuevo() {

        $this->form_validation->set_rules($this->especialidad->getValidacion());
        if ($this->form_validation->run() === FALSE) {
            if (isset($_POST['submit'])) {
                set_message(array('3' => validation_errors()));
                $especialidad = $_POST;
            } else {
                $especialidad = $this->especialidad->valoresPorDefecto();
            }

            $data = array(
                'datosusuario' => $this->datosusuario,
                'titulo' => 'Nueva Especialidad Médica',
                'especialidad' => $especialidad,
                'tipoRiesgo' => getListRiesgos(),
                'seleccionar' => 'parametricas',
            );

            $this->load->view('templates/header', $data);
            $this->load->view('templates/topbar');
            $this->load->view('parametricas/leftbar');
            $this->load->view('especialidades/form');
            $this->load->view('templates/footer');
        } else {
            $this->especialidad->setAttributes($this->input);

            $this->especialidad->id = null;

            $this->especialidad->save();

            set_message(array('1' => 'Se ha agregado una nueva Especialidad Médica: "' . $this->especialidad->nombre . '".'));

            redirect('especialidades/');
        }
    }
/*
    function nuevo_popup() {

        $this->form_validation->set_rules($this->especialidad->getValidacion());
        if ($this->form_validation->run() === FALSE) {
            if (isset($_POST['submit'])) {
                set_message(array('3' => validation_errors()));
                $especialidad = $_POST;
            } else {
                $especialidad = $this->especialidad->valoresPorDefecto();
            }

            $data = array(
                'datosusuario' => $this->datosusuario,
                'titulo' => 'Nueva Especialidad Médica',
                'especialidad' => $especialidad,
                'tipoRiesgo' => getListRiesgos(),
                'seleccionar' => 'parametricas',
            );

            $this->load->view('templates/header', $data);
            $this->load->view('especialidades/form');
            $this->load->view('templates/footer');
        } else {
            $this->especialidad->setAttributes($this->input);

            $this->especialidad->id = null;

            $this->especialidad->save();

            $data = array(
                'valor' => $this->especialidad->id,
                'nombre' => $this->especialidad->nombre,
            );
            $this->load->view('especialidades/retorno_valor', $data);
        }
    }
*/
    /**
     * Edita una nueva especialidad.
     *
     * @param integer $id El ID de la nueva especialidad para editar.
     * @return void
     */
    function editar($id = '') {

        if ($id == '')
            redirect('especialidades/');


        if ($this->especialidad->get((int) $id)) {

            $this->form_validation->set_rules($this->especialidad->getValidacion(true));
            if ($this->form_validation->run() === FALSE) {
                if (isset($_POST['submit'])) {
                    set_message(array('3' => validation_errors()));
                    $especialidad = $_POST;
                } else {
                    $especialidad = $this->especialidad->doArray();
                }


                $data = array(
                    'datosusuario' => $this->datosusuario,
                    'titulo' => 'Editar Especialidad Médica',
                    'especialidad' => $especialidad,
                    'tipoRiesgo' => getListRiesgos(),
                    'seleccionar' => 'parametricas',
                    'editar' => true, 
                );

                $this->load->view('templates/header', $data);
                $this->load->view('templates/topbar');
                $this->load->view('parametricas/leftbar');
                $this->load->view('especialidades/form');
                $this->load->view('templates/footer');
            } else {
                $_POST['id'] = $this->especialidad->id;

                $this->especialidad->setAttributes($this->input);
                $this->especialidad->save();

                set_message(array('1' => 'Se ha editado la Especialidad Médica: ' . $this->especialidad->nombre . '.'));

                redirect('especialidades/');
            }
        } else {
            redirect('especialidades/');
        }
    }

    /**
     * Elimina una especialidad
     *
     * @param integer $id El ID de la especialidad a eliminar.
     * @return void
     */
  /*  function eliminar($id = '') {
        if ($id == '')
            redirect('especialidades/');

        if ($this->especialidad->get((int) $id)) {
           
                $this->especialidad->delete();
                set_message(array('1' => 'Se ha eliminado la especialidad "' . $this->especialidad->nombre . '".'));
          
            }

        redirect('especialidades/');
    } */

}

